/*
    滑动窗口技巧与相关题目

    前置知识 : 无

    滑动窗口：维持左、右边界都不回退的一段范围，来求解很多子数组（串）的相关问题

    滑动窗口的关键：找到 范围 和 答案指标 之间的 单调性关系（类似贪心）

    滑动过程：滑动窗口可以用 简单变量 或者 结构 来 维护信息

    求解大流程：求子数组在 每个位置 开头 或 结尾 情况下的答案（开头还是结尾在于个人习惯）

    注意：
    滑动窗口维持最大值 或者 最小值的更新结构，在【必备】课程【单调队列】视频里讲述

    ================================================

    题目1
    累加和大于等于target的最短子数组长度
    给定一个含有 n 个正整数的数组和一个正整数 target
    找到累加和 >= target 的长度最小的子数组并返回其长度
    如果不存在符合条件的子数组返回0
    测试链接 : https://leetcode.cn/problems/minimum-size-subarray-sum/

    ================================================

    题目2
    无重复字符的最长子串
    给定一个字符串 s ，请你找出其中不含有重复字符的 最长子串 的长度。
    测试链接 : https://leetcode.cn/problems/longest-substring-without-repeating-characters/

    ================================================

    题目3
    最小覆盖子串
    给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串
    如果 s 中不存在涵盖 t 所有字符的子串，则返回空字符串 "" 。
    测试链接 : https://leetcode.cn/problems/minimum-window-substring/

    ================================================

    题目4
    加油站
    在一条环路上有 n 个加油站，其中第 i 个加油站有汽油 gas[i] 升。
    你有一辆油箱容量无限的的汽车，
    从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升
    你从其中的一个加油站出发，开始时油箱为空。
    给定两个整数数组 gas 和 cost ，如果你可以按顺序绕环路行驶一周
    则返回出发时加油站的编号，否则返回 -1
    如果存在解，则 保证 它是 唯一 的。
    测试链接 : https://leetcode.cn/problems/gas-station/

    ================================================

    题目5
    替换子串得到平衡字符串
    有一个只含有 'Q', 'W', 'E', 'R' 四种字符，且长度为 n 的字符串。
    假如在该字符串中，这四个字符都恰好出现 n/4 次，那么它就是一个「平衡字符串」。
    给你一个这样的字符串 s，请通过「替换一个子串」的方式，
    使原字符串 s 变成一个「平衡字符串」。
    你可以用和「待替换子串」长度相同的 任何 其他字符串来完成替换。
    请返回待替换子串的最小可能长度。
    如果原字符串自身就是一个平衡字符串，则返回 0。
    测试链接 : https://leetcode.cn/problems/replace-the-substring-for-balanced-string/

    ================================================

    题目6
    K个不同整数的子数组
    给定一个正整数数组 nums和一个整数 k，返回 nums 中 「好子数组」 的数目。
    如果 nums 的某个子数组中不同整数的个数恰好为 k
    则称 nums 的这个连续、不一定不同的子数组为 「好子数组 」。
    例如，[1,2,3,1,2] 中有 3 个不同的整数：1，2，以及 3。
    子数组 是数组的 连续 部分。
    测试链接 : https://leetcode.cn/problems/subarrays-with-k-different-integers/

    ================================================

    题目7
    至少有K个重复字符的最长子串
    给你一个字符串 s 和一个整数 k ，请你找出 s 中的最长子串
    要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度
    如果不存在这样的子字符串，则返回 0。
    测试链接 : https://leetcode.cn/problems/longest-substring-with-at-least-k-repeating-characters/

    ================================================

    加餐链接：https://leetcode.cn/problems/minimum-size-subarray-in-infinite-array/solutions/2464878/hua-dong-chuang-kou-on-shi-jian-o1-kong-cqawc/

*/